#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	scanf("%d %d %d", &a, &b, &c);
//	if (a < b)
//	{
//		int emp = a;
//		a = b;
//		b = emp;
//	}
//	if (a < c)
//	{
//		int emp = a;
//		a = c;
//		c = emp;
//	}
//	if (b < c)
//	{
//		int epm = 0;
//		b = c;
//		c = epm;
//	}
//	return 0;
//}

//#include<math.h>
//int main()
//{
//	int i = 0;
//	for (i = 101; i <= 200 && i >= 100; i+=2)
//	{
//		int j = 0;
//		int sign = 1;
//		for (j = 2; j <= sqrt(i); j++)
//		{
//			if (i % j == 0)
//			{
//				sign = 0;
//				break;
//			}
//		}
//		if (sign == 1)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}
//
//int main()
//{
//	int year = 0;
//	for (year = 1000; year <= 2000; year+=4)
//	{
//		if (year % 4 == 0)
//		{
//			if (year % 100 != 0)
//			{
//				printf("%d ", year);
//			}
//		}
//			if (year % 400 != 0)
//			{
//				printf("%d ", year);
//			}
//		}
//		return 0;
//}

int main()
{
	int x = 0;
	int y = 0;
	scanf("%d %d", &x ,& y);
	int k = (x > y ? y : x);
	while (1)
	{
		if (x % k == 0 && y % k == 0)
		{
			break;
		}
		k--;
	}
	printf("%d\n", k);
	return 0;
}